05. Generalized Coordinates

Generalized Coordinates

The same logic you applied in the last exercise to calculate the position of the end effector for a 2-DoF manipulator could be applied to any similar n-DoF system of joints and links constrained to a plane. With each new joint/link pair, you add a degree of freedom, and one additional coordinate is needed to fully describe the configuration of the system.

The coordinates used to describe the instantaneous configuration (snapshot in time) of a system are often called generalized coordinates. The term "generalized" refers to the notion that for some arbitrary system these could be angles, x and y coordinates, or even some other quantity that has no geometrical significance.

In the previous 2-DoF arm example, the set of generalized coordinates you used consisted of the two joint angles. You could, however, have just as well used other sets of generalized coordinates, like for example, the angle of the first link and the x and y positions of the end effector, or the x and y positions of both the joint and end effector. However, in those cases you would have had 3 and 4 coordinates, respectively. This is because the x and y positions of the joint and end effector are not independent. They are related to one another through the constraint of the fixed link length (L).

Solving for L using the Pythagorean theorem:

L^{2} = (x_{1}-x_{2})^{2}+(y_{1}-y_{2})^{2}


Simplifying:

L = \sqrt{ (x_{1}-x_{2})^{2}+(y_{1}-y_{2})^{2} }

The x and y coordinates are related through this "constraint equation". The constraint that p1 and p2 are always separated by a fixed distance removes one degree of freedom the system.

DoF = number of independent generalized coordinates

The number of independent generalized coordinates that are required to describe the configuration of a system is equal to the number of degrees of freedom. In the 2-DoF manipulator exercise we chose two particular joint angles with respect to a particular reference frame, but we could have just as easily chosen other angles with respect to some other reference frame. The number of possible choices for the generalized coordinates that describe a system is, in fact, infinite, but the smart choice of which set of coordinates to use is the one that most simplifies the problem you're trying to solve.

In the robotics of serial manipulators, you'll often run into the term configuration space or "joint space", which refers to the set of all possible configurations a manipulator may have. As you'll see later in this program, understanding of the configuration space is important for path planning and obstacle avoidance.